package cn.com.spbun.nddd.model;

/**
 * Tmodel对象里面的成员变量的描述类
 * 
 * @author NOLY DAKE
 *
 */
public class TmodelFieldDetail {

	private boolean canNull = false;

	/**
	 * 字段名称
	 */
	private String columnEnName = null;

	private String columnLength = null;

	/**
	 * 字段的实例名称
	 */
	private String fieldInstanceType = null;
	/**
	 * 字段的Java对象类型
	 */
	private String fieldObjectType = null;

	/**
	 * 有中间表时，表示对方在中间表的字段名称
	 */
	private String foreignKeyColumnName = null;
	/**
	 * 有中间表时，表示对方在中间表名称
	 */
	private String foreignKeyTableName = null;

	/**
	 * 是否有日期类型
	 */
	private boolean hasDateField = false;

	/**
	 * 是否外部引用
	 */
	private boolean isFK = false;

	/**
	 * 是否中间表字段
	 */
	private boolean isMDK = false;

	/**
	 * 是否主键
	 */
	private boolean isPK = false;

	/**
	 * 是否被引用
	 */
	private boolean isRK = false;

	/**
	 * 字段的实例名称
	 */
	private String rkFieldInstanceType = null;
	
	/**
	 * 字段注释
	 */
    private String description = null;

	public boolean getCanNull() {
		return canNull;
	}

	public String getColumnEnName() {
		return columnEnName;
	}

	public String getColumnLength() {
		return columnLength;
	}

	public String getFieldInstanceType() {
		return fieldInstanceType;
	}

	public String getFieldObjectType() {
		return fieldObjectType;
	}

	public String getForeignKeyColumnName() {
		return foreignKeyColumnName;
	}

	public String getForeignKeyTableName() {
		return foreignKeyTableName;
	}

	public boolean getIsFK() {
		return isFK;
	}

	public boolean getIsMDK() {
		return isMDK;
	}

	public boolean getIsPK() {
		return isPK;
	}

	public boolean getIsRK() {
		return isRK;
	}

	public String getRkFieldInstanceType() {
		return rkFieldInstanceType;
	}

    public String getDescription() {
        return description;
    }
    
    public void setDescription(String description) {
        this.description = description;
    }


	public boolean isHasDateField() {
		return hasDateField;
	}

	public void setCanNull(boolean canNull) {
		this.canNull = canNull;
	}

	public void setColumnEnName(String columnEnName) {
		this.columnEnName = columnEnName;
	}

	public void setColumnLength(String columnLength) {
		this.columnLength = columnLength;
	}

	public void setFieldInstanceType(String fieldInstanceType) {
		this.fieldInstanceType = fieldInstanceType;
	}

	public void setFieldObjectType(String fieldObjectType) {
		this.fieldObjectType = fieldObjectType;
	}

	public void setFK(boolean isFK) {
		this.isFK = isFK;
	}

	public void setForeignKeyColumnName(String foreignKeyColumnName) {
		this.foreignKeyColumnName = foreignKeyColumnName;
	}

	public void setForeignKeyTableName(String foreignKeyTableName) {
		this.foreignKeyTableName = foreignKeyTableName;
	}

	public void setHasDateField(boolean hasDateField) {
		this.hasDateField = hasDateField;
	}

	public void setMDK(boolean isMDK) {
		this.isMDK = isMDK;
	}

	public void setPK(boolean isPK) {
		this.isPK = isPK;
	}

	public void setRK(boolean isRK) {
		this.isRK = isRK;
	}

	public void setRkFieldInstanceType(String rkFieldInstanceType) {
		this.rkFieldInstanceType = rkFieldInstanceType;
	}

}
